#pragma once
#include "MyRuleStruct.h"
class BaseDialog;
class CNetMon
{
public:
	CNetMon();
	~CNetMon();
public:
	WhatTodo NetNotifyFunc(Param& op);
	WhatTodo NetTraverseNotifyFunc(Param& op);

	BOOL StartAddMonitorNet(BaseDialog *pBaseDlg);
	BOOL StartDelMonitorNet(BaseDialog *pBaseDlg);
	BOOL  StartNetMonitor(BaseDialog *pBaseDlg);
	BOOL StartNetMonitorCancel(BaseDialog *pBaseDlg);

private:
	static unsigned int __stdcall RunAddMonitorNet(void *lpParam);
	static unsigned int __stdcall RunDelMonitorNet(void *lpParam);
	static unsigned int __stdcall RunStartNetMonitor(void *lpParam);
	static unsigned int __stdcall RunStartNetMonitorCancel(void *lpParam);

	void NetMonitorCancel(BaseDialog *pBaseDlg);
	void NetMonitor(BaseDialog *pBaseDlg);
	BOOL DelMonitorNet(BaseDialog *pBaseDlg);
	BOOL AddMonitorNet(BaseDialog *pBaseDlg);

public:
	ULONG m_uLastIndex;
	PATH_NODE m_hips_node;
	BOOL m_bIs_in_list;
};

